Real-time delivery of multimedia requires extensive support from both systems and networks. The non-stop delivery, coupled with real-time constraints, needs consistent availability of both computational and network resources. However, one of the major problems to meet this expectation is the associated occasional unreliability. This unreliability leads not only to inefficient delivery of multimedia but also to the under utilization of resources.
Consider an enterprise scenario of delivering a multimedia content from multiple sources to multiple destinations across a network. In this scenario, the multiple sources possessing the same multimedia content is by virtue of being part of the same content generation/sourcing activity, and the multiple destinations requiring the same multimedia content is due to the need to deliver the same to multiple branch offices of the enterprise. Note that it is not realistic to expect a perfect delivery system with unfailing content sourcing, unfailing systems, and unfailing network. More importantly, the multimedia delivery system needs to be designed keeping this constraint in mind: delivering multiple multimedia contents from multiple sources to multiple destinations across a not so highly reliable network with not so highly reliable multimedia content sourcing.
One of the ways to overcome this constraint is to exploit redundancy: in fact, very highly reliable systems have high redundancy factor as well. This exploitation while improving reliability leads to reduced throughput from per unit resource consumption point of view. Hence, there is a need for balancing between under utilization of resources and over doing to meet higher reliability expectations. This poses a question of how to achieve on the fly reliability management coupled with load balancing. The degree of under utilization of resources could vary as failure is a random phenomenon: Not so highly reliable means that there is very good chance of successful completion but with occasional failures. This calls for a system design to guard against these occasional failures. In other words, redundancy needs to be exploited as a consequence of failure wherever it is appropriate. Such a design strives for utilizing redundancy for enhancing throughput as well as for addressing occasional failures.